package com.sfj.common.dto;


//import io.swagger.annotations.ApiModel;
//import io.swagger.annotations.ApiModelProperty;

import com.kaka.starter.control.dto.PageQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * @author chengyangliu
 */
@Data
@EqualsAndHashCode(callSuper = false)
//@ApiModel(value = "表单按钮执行时DTO", description = "表单按钮执行时DTO")
public class FormTableReqDTO extends PageQuery implements Serializable {
    private static final long serialVersionUID = 9113595019170364981L;

    //@ApiModelProperty(value = "", example = "", required = true)
    private String eventId;

    //@ApiModelProperty(value = "", example = "", required = true)
    private String formId;
    //@ApiModelProperty(value = "", example = "", required = true)
    private String formName;

    //@ApiModelProperty(value = "租户", example = "", required = false)
    private Integer tenantId;

    //@ApiModelProperty(value = "角色", example = "", required = false)
    private List<Integer> roleIdList;

    //@ApiModelProperty(value = "用户", example = "", required = false)
    private String userId;

    //@ApiModelProperty(value = "服务项id", example = "", required = false)
    private String item;

    //@ApiModelProperty(value = "所属组织(包含所有下级组织)", example = "", required = false)
    private List<Integer> groupIds;

    //@ApiModelProperty(value = "操作对象 目前用于流程和批量修改", example = "", required = false)
    private LinkedHashMap<String, Object> operatorMap;

    //@ApiModelProperty(value = "新增/编辑/批量编辑时输入框参数", example = "", required = false)
    private LinkedHashMap<String,Object> parmaMap;

    //@ApiModelProperty(value = "查询时条件  最终要转成Map<String,Object> parmaMap 类型执行", example = "false")
    private Map<String, Map<String,Object>> valueMap;

    //@ApiModelProperty(value = "流程参数", example = "",required = false)
    //Map<String, Object> flowMap;

    //@ApiModelProperty(value = "批量操作时  编辑/流程/导出 传入的Id集合", example = "", required = false)
    private List<Object> batchIdList;

    //@ApiModelProperty(value = "批量删除时传入的Id", example = "", required = false)
    private List<Object> delIdList;

    //@ApiModelProperty(value = "主键id 单条记录的删除/查询/查看详细", example = "", required = false)
    private Object id;

    //@ApiModelProperty(value = "批量新增时输入框参数", example = "", required = false)
    List<LinkedHashMap<String, Object>> parmaList;



    //@ApiModelProperty(value = "执行流程验证标识", example = "", required = false)
    private boolean checkFlag;


    //==========附加字段

    //@ApiModelProperty(value = "流程 或者系统功能执行时  绕开权限逻辑", example = "false")
    private Boolean power = true;


    //@ApiModelProperty(value = "当前用户权限 权限为上级领导时使用", example = "", required = false)
    private List<Integer> userGroup;



}